
package gxwl.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import gxwl.relation.param.SysUserGrantResourceParam;
import gxwl.relation.param.SysUserGrantRoleParam;
import gxwl.user.entity.SysUser;
import gxwl.user.vo.AuthAccountPasswordLoginParam;
import gxwl.user.vo.SysUserAddParam;
import gxwl.user.vo.SysUserEditParam;
import gxwl.user.vo.SysUserIdParam;

import java.util.List;

/**
 * 登录Service接口
 *
 * @author baijhc
 * @date 2024/03/23 21:51
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 账号密码登录
     *
     * @author baijhc
     * @date 2024/03/28 14:46
     **/
    String doLogin(AuthAccountPasswordLoginParam authAccountPasswordLoginParam);

    void add(SysUserAddParam sysUserAddParam);

    void edit(SysUserEditParam sysUserEditParam);

    void delete(List<SysUserIdParam> sysUserIdParamList);

    void disableUser(SysUserIdParam sysUserIdParam);

    void enableUser(SysUserIdParam sysUserIdParam);

    void resetPassword(SysUserIdParam sysUserIdParam);

    List<String> ownRole(SysUserIdParam sysUserIdParam);

    void grantRole(SysUserGrantRoleParam sysUserGrantRoleParam);

    void grantResource(SysUserGrantResourceParam sysUserGrantResourceParam);
}
